#pragma once
#include "IMessengerEventData.h"
#include "util/Shared_ptr.h"



namespace Boon
{

/*!
* Base class used to create Events through derivation that can be
* banged with / registered to Boon::Messenger
*/
class BOON_API MessengerEventBase : public IMessengerEvent
{
public:
	MessengerEventBase();
	virtual ~MessengerEventBase(void);

	virtual const uint_32			GetTimeStamp() const sealed;

private:
	MessengerEventBase( const MessengerEventBase& o );
	MessengerEventBase& operator=( const MessengerEventBase& rhs );

	const unsigned int				m_TimeStamp; 		/*!< Timestamp (in milliseconds) when this event has been created */
};


}
